package com.songlanyun.modules.account.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.songlanyun.common.drive.RootEntity;
import com.songlanyun.common.utils.custom.MathUtils;
import lombok.Data;

import java.math.BigDecimal;
import java.io.Serializable;

/**
 * 会员在每个店铺中的等级（会员的上级会员如查成为商家，自己的绑定店铺成为这个商家的店铺，同时之前所在商家的等级要克隆下来）
 *
 * @author Mark
 * @email sunlightcs@gmail.com
 * @date 2020-11-05 17:23:13
 */
@Data
@TableName("yxt_user_shop_role")
public class UserShopRoleEntity extends RootEntity<Long, UserShopRoleEntity> implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @TableId
    private Long id;
    /**
     * 所属用户
     */
    private Long userId;
    /**
     * 所属商家标识
     */
    private Long shopId;
    /**
     * 用户在当前商家的总消费
     */
    private BigDecimal totalConsumption;

    public void addTotalConsumption(BigDecimal value) {
        this.totalConsumption = MathUtils.add(this.totalConsumption, value);
    }

    /**
     * 用户在当前商家店的会员等级名（角色）
     */
    private String roleName;
    /**
     * 用户在当前商家店的会员等级编号（角色）
     */
    private String roleCode;
    /**
     * 等级
     */
    private Integer level;


    @Override
    public Long getIdentity() {
        return id;
    }
}
